package org.example.myerp.mapper.productDesign.productArchiveManagement;

import org.apache.ibatis.annotations.Mapper;
import org.example.myerp.pojo.*;import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;



/**
 * ��Ʒ��������Ϣ�� �����ݷ��ʲ㡿
 * @author DELL
 *
 */
@Mapper
@Component
public interface ProInformationMapper {
	/**
	 * ��Ӳ�Ʒ��������Ϣ��
	 * @param proInformation
	 * @return
	 */
	public Integer insertProInformationMessage(ProInformation proInformation);

	/**
	 * ��ѯȫ��δ���˵�ȫ����Ʒ��Ϣ������ҳ��
	 * @return
	 */
	public List<ProInformation> selectAllProInformationByReviewSign(Map<String, Object> params);

	/**
	 * ��ѯȫ���Ѹ��˲��Ҳ�Ʒ����Ϊ��Ʒ��ȫ����Ʒ��Ϣ������ҳ��
	 * @return
	 */
	public List<ProInformation> selectAllProInformationByReviewSignAndyongType(Map<String, Object> params);

	/**
	 * ��ѯȫ���Ѹ��˵�ȫ����Ʒ��Ϣ��������
	 * @return
	 */
	public Integer selectProInformationByHaveToReviewTotalNumber();

	/**
	 * ��ѯȫ��δ���˵�ȫ����Ʒ��Ϣ��������
	 * @return
	 */
	public Integer selectProInformationTotalNumber();

	/**
	 * ���ݲ�Ʒ��Ų�ѯ��Ʒ����Ϣ
	 * @param pId
	 * @return
	 */
	public ProInformation selectProInformationByPId(Integer pId);

	/**
	 * ��Ʒ�󸴺�ʱ�޸Ĳ�Ʒ��������Ϣ��
	 * @param proInformation
	 * @return
	 */
	public Integer updateProInformationByProInformationAll(ProInformation proInformation);

	/**
	 * ��ѯ��Ʒ����Ϊ���ϵ�ȫ����Ϣ
	 * @return
	 */
	public List<ProInformation> selectProductTypeByMaterials(Map<String, Object> params);

	/**
	 * ��ѯ��Ʒ����Ϊ���ϵ�������
	 * @return
	 */
	public Integer selectProductTypeByMaterialsTotalNumber();

	/**
	 * ��Ʒ���ϼ۸����
	 * @param proInformation
	 * @return
	 */
	public Integer updateProInformation(ProInformation proInformation);

	/**
	 * ��ѯ��Ʒ����δ�۸����
	 * @return
	 */
	public List<ProInformation> selectMaterialGoodsUnreviewed();

	/**
	 * �޸Ĳ�Ʒ��Ϣ��ļ۸����Ϊδ����
	 * @param pId
	 * @return
	 */
	public Integer updateUnchangedPrice(Integer pId);

	/**
	 *  �޸Ĳ�Ʒ��Ϣ��ļ۸����Ϊ�ѵ���
	 * @param pId
	 * @return
	 */
	public Integer updateChangedPrice(Integer pId);
}
